/*
 * @Descripttion:
 * @Author: jhw
 * @Date: 2023-11-03 10:25:22
 * @LastEditors: jhw
 * @LastEditTime: 2023-11-03 14:30:24
 */
const BookSq = require("./db");
const fs = require("fs");
const path = require("path");

/**
 * @description 根据章节名，提取章节序号
 */
function getOrder(title) {
  let reg = /第(\d+)章/;
  let match = title.match(reg);
  if (match) {
    return +match[1];
  } else {
    return title;
  }
}

// /**
//  * @description 插入接口
//  */

async function createBook({ title, order }) {
  const result = await BookSq.create({
    title,
    order,
    book_code: "cxxsjgl",
    book_name: "从仙侠世界归来",
  });
  console.log(order, "插入成功");
}

/**
 * @description 根据传入order，获取对应的章节内容
 */
async function getBook({ order }) {
  const whereOpt = {};

  order && Object.assign(whereOpt, { order });

  const res = await Book.findOne({
    attributes: ["order", "title", "content"],
    where: whereOpt,
  });
  return res ? res.dataValues : null;
}

/**
 * @description 遍历download目录下的所有文件，获取文件名，章节名，章节内容
 */
async function getBookList() {
  const dir = path.resolve(__dirname, "../从仙侠世界归来/");
  // fs.readdir(dir, (err, files) => {
  //   if (err) {
  //     console.log(err);
  //   } else {
  //     const total = files.length;
  //     console.log(total);
  //     for (let i = 0; i < 1; i++) {
  //       // fs.readFile(`${dir}/${files[i]}`, "utf8", (err, data) => {
  //       //   if (err) {
  //       //     console.log(err);
  //       //   } else {
  //       //     const title = files[i].split(".txt")[0];
  //       //     let order = getOrder(title);
  //       //     createBook({
  //       //       title,
  //       //       order,
  //       //     });
  //       //   }
  //       // });
  //       const title = files[i].split(".txt")[0].trim();
  //       console.log(title, "title");

  //       let order = getOrder(title);
  //       console.log(order, "order");
  //       createBook({
  //         title,
  //         order,
  //       });
  //     }
  //   }
  // });
  fs.readdirSync(dir).forEach((file) => {
    const title = file.split(".txt")[0].trim();
    console.log(title, "title");

    let order = getOrder(title);
    console.log(order, "order");
    createBook({
      title,
      order,
    });
  });
}

// getBook({ order: 1 });
getBookList();

// createBook({
//   title: "第一章",
//   order: "1",
// });
